import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useLocaleStore = defineStore('locale', () => {
  const defaultLocale = window.navigator.language.split('-')[0]
  const localeList = ref([
    {
      label: '中文',
      value: 'zh',
    },
    {
      label: 'English',
      value: 'en',
    },
  ])
  const locale = ref(localStorage.getItem('locale') || defaultLocale)
  const initLocale = () => {
    if (!localeList.value.find((item) => item.value === locale.value)) {
      locale.value = defaultLocale
    }
  }
  initLocale()
  const setLocale = (value: string) => {
    locale.value = value
    localStorage.setItem('locale', value)
  }

  return {
    locale,
    setLocale,
    initLocale,
  }
})
